package com.zhonghui.mes.mapper;

import java.util.List;

import com.zhonghui.mes.domain.MesProductMaterialItem;
import com.zhonghui.mes.domain.vo.MesProductMaterialItemVo;
import com.zhonghui.mes.domain.vo.MesProductVo;

/**
 * 制造执行MES-产品建模Mapper接口
 * 
 * @author qiezi
 * @date 2023-12-25
 */
public interface MesProductMapper 
{
    /**
     * 查询制造执行MES-产品建模
     * 
     * @param id 制造执行MES-产品建模主键
     * @return 制造执行MES-产品建模
     */
    public MesProductVo selectMesProductById(Long id);

    /**
     * 查询制造执行MES-产品建模列表
     * 
     * @param mesProduct 制造执行MES-产品建模
     * @return 制造执行MES-产品建模集合
     */
    public List<MesProductVo> selectMesProductList(MesProductVo mesProduct);

    /**
     * 新增制造执行MES-产品建模
     * 
     * @param mesProduct 制造执行MES-产品建模
     * @return 结果
     */
    public int insertMesProduct(MesProductVo mesProduct);

    /**
     * 修改制造执行MES-产品建模
     * 
     * @param mesProduct 制造执行MES-产品建模
     * @return 结果
     */
    public int updateMesProduct(MesProductVo mesProduct);

    /**
     * 删除制造执行MES-产品建模
     * 
     * @param id 制造执行MES-产品建模主键
     * @return 结果
     */
    public int deleteMesProductById(Long id);

    /**
     * 批量删除制造执行MES-产品建模
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesProductByIds(Long[] ids);

    /**
     * 批量删除制造执行MES-产品建模明细信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesProductMaterialItemByProductIds(Long[] ids);
    
    /**
     * 批量新增制造执行MES-产品建模明细信息
     * 
     * @param mesProductMaterialItemList 制造执行MES-产品建模明细信息列表
     * @return 结果
     */
    public int batchMesProductMaterialItem(List<MesProductMaterialItemVo> mesProductMaterialItemList);
    

    /**
     * 通过制造执行MES-产品建模主键删除制造执行MES-产品建模明细信息信息
     * 
     * @param id 制造执行MES-产品建模ID
     * @return 结果
     */
    public int deleteMesProductMaterialItemByProductId(Long id);
}
